Storage arrays are arrangements of hardware and software that typically include multiple storage processors coupled to non-volatile data storage devices, such as magnetic disk drives, electronic flash drives, and/or optical drives. The storage processors service host I/O requests received from host applications running on host machines. The received host I/O requests specify one or more logical storage drives commonly referred to as “volumes”, and indicate host I/O data that is to be written to or read from the volumes. The storage processors include specialized hardware and execute specialized software that processes the incoming host I/O requests and that performs various data storage tasks that organize and secure the host I/O data that is received from the host applications and stored on non-volatile data storage devices of the storage array.
In a variety of situations, a volume must be migrated from one storage array to another storage array. Such situations may arise when a customer desires to move a volume from an old storage array to a new storage array, e.g. at the time that the customer purchases new hardware, for purposes of achieving performance enhancements, and/or to balance loads across multiple storage arrays.